2004年11月15日
川俣晶の縁側ソフトウェアりすと亭開発日誌 total 2787 count

りすと亭バージョン 4.08.0 リリース・メール配送ループ停止対策

Written By: 川俣 晶連絡先

 「メーリングリスト+電子掲示板=リスト板」を実現する「りすと亭」をバージョンアップしました。

 新しいバージョンは4.07.0となります。

 以下より入手できます。

 今回のバージョンアップの変更点をここで解説します。

致命的エラー記録(FatalErrorManager.Report)メソッドが例外を投げるとメール配送ループが停止する問題を解消 §

 お客様よりもレポートで、メール配送ループが止まってしまうケースがあるというので、調査してみました。その結果、あらゆる試みが失敗した後、致命的エラー記録を行う段階で例外が発生すると、そのままメール配送ループから抜けてしまうことが分かりました。この状態では、簡易httpd機能経由のアクセスは受け付けますが、電子メールへの応答、配送を行うことがありません。

 このような問題が発生した場合でも、メール配送ループから抜け出さないように修正しました。

サーバ設定の「ポーリング間隔」をマイナス値に設定するとメール配送ループが停止する問題を解消 §

 これは、基本的に上の問題と同じ原因で発生するものです。

 ただ、この問題が発生すると他のプロセスに実行チャンスを与えるための一時停止時間が消失してしまうため、特に対策を追加しています。

 具体的には、「ポーリング間隔」の値が1よりも小さい場合は少なくとも1であると見なすような処理を追加しています。